#!/usr/bin/env ruby

LKP_SRC = ENV['LKP_SRC'] || File.dirname(File.dirname(File.realpath($PROGRAM_NAME)))

require "#{LKP_SRC}/lib/string_ext"
require "#{LKP_SRC}/lib/tests/stats"

stats = LKP::Stats.new

while (line = $stdin.gets)
  line = line.resolve_invalid_bytes

  case line
  when /^ +\+ tests\/(\S+)$/
    #   + tests/utils/check_paranoid
    #  + tests/sysfs/events
    testcase = $1.downcase
  when /\.\.\.\s+(.+)$/
    #     Testing \"branch-misses\" generalized event...               PASSED
    #     Testing PERF_FLAG_FD_OUTPUT flag...                        KNOWN KERNEL BUG
    if testcase && testcase != ''
      stats.add testcase, $1
      testcase = ''
    end
  when /^(ignored_by_lkp)\s+(.*)\s+/
    stats.add $2, $1
  when /^make -C\s(.*)/
    # make -C lib
    @make_case = $1
  when /^make: \*\*\* (.*) (Error \d+|Stop\.)$/
    # make: *** [Makefile:11: all] Error 2
    stats.add @make_case.to_s, 'make_fail'
  end
end

stats.dump('passed' => 'pass', 'failed' => 'fail', 'skipped' => 'skip')
